package com.zenith.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zenith.article.po.domain.ArtCategory;
import com.zenith.article.po.dto.ArtCategoryDTO;
import com.zenith.common.result.PageResult;

import java.util.List;

/**
 * 文章分类服务接口
 *
 * @author zenith
 * @since 2025-08-29
 */
public interface ArtCategoryService extends IService<ArtCategory> {

    /**
     * 分页查询文章分类
     *
     * @param query 查询条件
     * @return 分页结果
     */
    PageResult<ArtCategory> getArtCategoryPage(ArtCategoryDTO query);

    /**
     * 获取分类树结构
     *
     * @return 分类树
     */
    List<ArtCategory> getArtCategoryTree();

    /**
     * 创建文章分类
     *
     * @param categoryDTO 分类信息
     * @return 创建结果
     */
    boolean createArtCategory(ArtCategoryDTO categoryDTO);

    /**
     * 更新文章分类
     *
     * @param categoryDTO 分类信息
     * @return 更新结果
     */
    boolean updateArtCategory(ArtCategoryDTO categoryDTO);

    /**
     * 删除文章分类
     *
     * @param id 分类ID
     * @return 删除结果
     */
    boolean deleteArtCategory(Long id);
}